Linear precoding for multi-input systems based on channel estimate and channel statistics

ABSTRACT

A method, processor and system for linear preceding for a multiple-input communication channel described in terms of an effective mean and an effective correlation is provided. The effective mean and correlation can be the sample mean and correlation of the channel, or they can also include an estimate of the channel and a quality parameter of the estimate. The precode is derived by minimizing a Chernoff bound on the pairwise error probability. It is assumed the channel code is a matrix block code, which includes spatial multiplexing and space-time block codes (STBCs) as special cases. In some cases (e.g., an orthogonal STBC) the codeword separation matrix is a scaled identity matrix. In these cases, the precode that minimizes the Chernoff bound can be determined analytically. It may be necessary to perform a “dynamic water-filling” procedure in order to satisfy constraints on the optimization. In other cases, the codeword separation matrix is not a scaled identity matrix. In such cases, various precodes which approximately minimize the Chernoff bound are provided.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional patent application 60/602,388, filed Aug. 8, 2004, entitled “Linear Precoding Method for MIMO Wireless based on Channel Estimate and Channel Statistics”, and hereby incorporated by reference.

FIELD OF THE INVENTION

This invention relates to communication in systems having a multiple-antenna transmitter.

BACKGROUND

Communication system design is generally concerned with maximizing information transfer from a transmitter to a receiver along a noisy channel with acceptable reliability. In practice, the channel is often time-varying (e.g., a fading channel for wireless communication) in addition to being noisy. Provision of a complete description of the channel to the transmitter, for designing the signal to increase the transmission rate and reliability, is usually difficult in practice. Various approaches have been developed for communication on time-varying channels, where differing levels of channel description are provided to the transmitter. Typically, system complexity and information transfer rate both increase as the amount and quality of channel description provided to the transmitter is improved, resulting in a performance-complexity trade-off.

Provision of a channel description to the transmitter is especially valuable in multiple transmitter antenna systems, in contrast to single antenna systems. Multi-input, multi-output (MIMO) systems (including multi-input single-output systems as a special case) commonly use space-time block codes (e.g., as considered by Alamouti et al. in U.S. Pat. No. 6,185,258). However, conventional space-time block codes do not make use of channel description. Further information on space-time coding in MIMO systems is given by Gesbert et al. in an article “From Theory to Practice: an Overview of MIMO Space-Time Coded Wireless Systems”, IEEE J. Selected Areas in Communication 21(3) April 2003. Methods of utilizing channel description in multiple transmit-antenna systems, in combination with such codes, are presently under investigation, especially for wireless communication.

For example, use of a precoder derived from the channel transfer function in a MIMO system to eliminate inter-symbol interference is considered in US 2003/0235146 by Wu et al. In US 2001/0033622 by Jöngren et al., a channel description in the form of quantized feedback information is provided to the transmitter in a MIMO system and used to derive a linear preceding transformation. In US 2005/0048933 by Wu et al., a simplified feedback approach is considered, where 2(M−1) bits of feedback channel description are provided to a transmitter having M antennas in a MIMO system. Use of channel description information is sometimes known as “beamforming”. Beamforming in combination with orthogonal coding is considered in US 2002/0186779 and US 2003/0035490 by Gollamudi.

In some cases, the channel description is statistical. For example, in an article entitled “Linear Precoding for Space-Time Coded Systems with Known Fading Correlations”, IEEE Comm. Letters 6(6) June 2002, Sampath and Paulraj consider the use of a channel correlation matrix to derive an optimal linear precoder for a space-time coded system.

As indicated above, there is a trade-off between system performance (increasing channel description improves performance) and system complexity (increasing channel description increases complexity). In particular, approaches which attempt to provide an accurate instantaneous channel description to the transmitter are often difficult and/or complex to implement. Approaches which provide a statistical channel description to the transmitter are relatively simple to implement, but it appears that only single-parameter statistical channel descriptions (e.g., channel mean OR channel correlation) have been considered.

Accordingly, it would be an advance in the art to provide optimized linear preceding for a multi-input communication system based on a multi-parameter statistical description of the channel.

SUMMARY

The present invention provides linear preceding for a multiple-input communication channel described in terms of an effective mean and an effective correlation. The effective mean and correlation can be the sample mean and correlation of the channel, or they can also include an estimate of the channel and a quality parameter of the estimate. The precode is derived by minimizing a Chernoff bound on the pairwise error probability. It is assumed the channel code is a matrix block code, which includes spatial multiplexing and space-time block codes (STBCs) as special cases. In some cases (e.g., an orthogonal STBC) the codeword separation matrix is a scaled identity matrix. In these cases, the precode that minimizes the Chernoff bound can be determined analytically. It may be necessary to perform a “dynamic water-filling” procedure in order to satisfy constraints on the optimization. In other cases, the codeword separation matrix is not a scaled identity matrix. In such cases, various precodes which approximately minimize the Chernoff bound are provided.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a communication system according to an embodiment of the invention.

FIG. 2 shows results from an example of preceding according to the invention in a 2×1 system using the Alamouti code with QPSK modulation.

FIG. 3 shows results from an example of preceding according to the invention in a 2×1 system using the Alamouti code with 3 different modulations: QPSK, 16QAM, and 64QAM.

FIG. 4 shows results from an example of preceding according to the invention in a 4×1 system using a non-orthogonal block code and QPSK.

FIG. 5 shows results from an example of preceding according to the invention in a 4×1 system using a non-orthogonal block code and 16QAM.

FIG. 6 shows results from an example of preceding according to the invention in a 4×1 system for varying levels of channel estimate quality at the transmitter.

FIG. 7 shows results from an example of performance vs. channel estimate quality for an embodiment of the invention.

FIG. 8 shows a performance comparison between preceding according to the invention and beamforming based on an outdated channel measurement.

FIG. 9 shows an example of preceding according to the invention in combination with a error correction code and a space-time block code.

DETAILED DESCRIPTION

FIG. 1 shows a block diagram of a communication system (e.g., a wireless system) according to an embodiment of the invention. An input source 102 provides data bits or symbols to a coder 104. The output of coder 104 is processed by precoder 106. The output of precoder 106 is transmitted over channel 108 having additive noise 110 to receiver 112, which is assumed to perform maximum-likelihood detection of received codewords. Precoder 106 has access to statistical information relating to channel 108, as indicated on FIG. 1.

The present invention can be best appreciated in view of the following mathematical development. Let the communication system of FIG. 1 have N transmit antennas and M receive antennas. Channel 108 can then be represented as an M×N matrix H. The channel is modeled as a random matrix variable to account for its uncontrollable time-varying properties (e.g., time-selective fades). We consider channel models including effective mean and correlation parameters. More specifically, we assume a channel model given by H=H _(E) +H _(w) R _(E) ^(1/2),  (1) where H_(E) is the effective channel mean matrix (M×N), R_(E) is the effective transmit correlation matrix (N×N), and H_(w) is a complex Gaussian random matrix (M×N) with independent zero-mean, unit variance entries. The matrix R_(E) is assumed to be invertible, while H_(E) can have arbitrary rank.

The parameters H_(E) and R_(E) are provided to the transmitter. This can be done in various ways, such as feedback from the receiver and/or use of reverse channel information. For example, averaging samples H_(k) of the channel at the receiver as follows: $\begin{matrix} {{H_{m} = {\frac{1}{L}{\sum\limits_{k = {1 - L}}^{0}H_{k}}}}{R_{t} = {\frac{1}{M}\left( {{\frac{1}{L}{\sum\limits_{k = {1 - L}}^{0}{H_{k}^{*}H_{k}}}} - {H_{m}^{*}H_{m}}} \right)}}} & (2) \end{matrix}$ can provide estimates of H_(E) and R_(E) to the transmitter via feedback or reciprocity. More specifically, H_(E)=H_(m) and R_(E)=R_(t) in this example. Here an averaging window having L samples is assumed. A superscript * on a matrix denotes Hermitian conjugation throughout this description. Note that H_(m) is a sample mean of the channel samples, and R_(t) is a sample covariance of the channel samples. Typically, such estimates can be obtained by averaging over tens of channel coherence times and remain valid for tens to hundreds of channel coherence times.

It is also possible to include additional statistical information in the channel model of Eq. 1. More specifically, suppose an estimate H_(est) of the channel and an estimate r (0≦r≦1) of the correlation between H_(est) and the present state of the channel is available, in addition to H_(m) and R_(t) as given by Eq. 2. In this case, the effective mean H_(E) and correlation R_(E) are given by H _(E) =rH _(est)+(1−r)H _(m) R _(E)=(1−r ²)R _(t)  (3) The model of Eq. 3 approaches that of Eq. 2 as r approaches zero, as expected. As r approaches unity, H_(est) is an increasingly accurate estimate of the channel state, and accordingly dominates the channel model. The estimate H_(est) can be a sample of the channel.

More generally, the effective mean and transmit correlation matrices in the channel description can also be derived from an estimate Ĥ of the true channel H and the covariance of the channel estimate error R_(e) (representing the uncertainty of the estimate and having dimensions MN×MN). Here R_(e) is defined via R_(e)=E[ĥĥ−hh*], where h=vec(H) and ĥ=vec(Ĥ). The estimate Ĥ and the covariance R_(e) depend on the channel estimation method and the characteristics of a particular channel.

For example, suppose R_(e) can be expressed as R_(e)=R_(e,l) ^(T){circle around (x)}I_(M), where {circle around (x)} represents the matrix Kronecker product and the superscript T denotes matrix transpose. In this case, the estimate of each vector channel from all transmit antennas to a single receive antenna is correlated, but the estimates of different vector channels corresponding to different receive antennas are uncorrelated. For this example, the effective channel mean matrix H_(E) is given by Ĥ, and the effective transmit correlation matrix R_(E) is given by R_(e,t). This is an example of a case where the effective correlation matrix R_(E) may not relate to the actual correlation between the transmit antennas.

This invention relates to the design of precoders for the above channel model. The input to precoder 106 is assumed to be an N×T matrix C (T≧1), where T is the block length of the input code. Note that the block length T can be equal to one. It is convenient to refer to input codes having this form as “matrix block codes”. Matrix block codes include space-time block codes as a special case. Matrix block codes also include spatial multiplexing as a special case, where encoding is performed for each transmit antenna independently. Any combination of space-time block coding and spatial multiplexing is also included in the general category of matrix block codes.

The precoder is assumed to provide a linear transformation of its input C to the channel. Thus the input to the channel is FC, where F is the precode matrix (N×N), or precode for short. In broad terms, the problem of interest is the selection of a precode F to minimize error as inputs C are transmitted across channel H. It is assumed that the receiver performs maximum-likelihood detection to obtain a received codeword Ĉ.

The error analysis is based on a Chernoff bound of the pairwise error probability (PEP). The PEP is the probability that a transmitted codeword C is erroneously decoded as another codeword Ĉ, and is strongly related to system performance. It is helpful to define a codeword separation function A(C,Ĉ) (N×N) as follows: $\begin{matrix} {{A\text{(}C},{{\hat{C}\text{)}} = {{\frac{1}{P}\text{(}C} - {\hat{C}\text{)}\text{(}C} - {\hat{C}\text{)}^{*}}}},} & (4) \end{matrix}$ where P is the time-average (over a block length of T) total transmitter output power. The codeword separation function A(C,Ĉ) is a function of the transmitted and received codewords C and Ĉ respectively.

In order to proceed with the analysis, a design rule for selecting a separation matrix that is representative of the input code as a whole is needed. One option (referred to as the minimum-distance approach) is to set the codeword separation matrix A equal to the A(C,Ĉ) function value having the minimum value of λ₁(A) as C and Ĉ are varied. Here λ₁(A) is the smallest non-zero eigenvalue of A. Another option is to set A equal to the expectation of A(C,Ĉ), resulting in an average distance. The minimum-distance approach has the advantage of guaranteeing at least a certain amount of preceding gain, based on optimizing the error bound. Although the average-distance approach does not provide the guaranteed preceding gain of the minimum-distance approach, it does have the advantage that the resulting A matrix is more often a scaled identity matrix, which significantly simplifies the analysis. Other approaches for deriving the matrix A from the function A(C,Ĉ) can also be used in practicing the invention. In the following description, the notation A is used for the codeword separation matrix.

In terms of the codeword separation matrix A, the Chernoff bound on the PEP is given by $\begin{matrix} {{{P\text{(}C}->{{\hat{C}\text{)}} \leq \left( {H,A,F} \right)}} = {\exp\left( {{- \frac{\rho}{4}}{{tr}\left( {{HFAF}^{*}H^{*}} \right)}} \right)}} & (5) \end{matrix}$ where ρ=P/σ² is the signal to noise ratio (SNR). In mathematical terms, the precoder design problem has been reduced to minimizing the expectation f(H,A,F) by varying F, given the distribution of H (i.e., the channel description) and A (i.e., the codeword separation). The precode F is also required to satisfy the constraint tr(FF*)=1, in order to conserve power.

This optimization problem for F can be expressed as the minimization of an objective function J given by $\begin{matrix} {{J = {{{tr}\left( {H_{E}W^{- 1}H_{E}^{*}} \right)} - {M\quad\log\quad{\det(W)}}}},{where}} & (6) \\ {{W = {{\frac{\rho}{4}R_{E}{FAF}^{*}R_{E}} + R_{E}}}{{{tr}\left( {FF}^{*} \right)} = 1}} & (7) \end{matrix}$ The matrix FF* is also required to be positive semi-definite (PSD). Although J is convex in W, the trace constraint on F is non-linear in F, so the problem is not convex in F. The tractability of this problem depends on the structure of the codeword separation matrix A. More specifically, the following two cases will be considered in turn: 1) A is a scaled identity matrix; and 2) A is not a scaled identity matrix.

The first case we consider is where A=μI is a scaled identify matrix. The codeword separation matrix A will be a scaled identity matrix if the set of codewords C form an orthogonal space-time block code. In some cases, non-orthogonal space-time block codes can also lead to a scaled-identity A, (e.g., if the expectation of A(C,Ĉ) or the minimum-distance A(C,Ĉ) is a scaled identity matrix). In the case of spatial multiplexing, the codeword separation matrix will be a scaled identity if A is the expectation of A(C,Ĉ). The parameter μ is the codeword distance. Substituting A=μI into Eqs. 7 we have $\begin{matrix} {{W = {{\frac{\mu\rho}{4}R_{E}{FF}^{*}R_{E}} + R_{E}}}{\phi = {{FF}^{*} = {\frac{4}{\mu\rho}\left( {{R_{E}^{- 1}{WR}_{E}^{- 1}} - R_{E}^{- 1}} \right)}}}{{{tr}(\phi)} = 1}} & (8) \end{matrix}$ where the matrix φ has been introduced for convenience.

The Lagrangian corresponding to Eqs. 6 and 8 is given by L(W,ν,Z)=tr(H _(E) W ⁻¹ H* _(E))−M logdet(W)+ν(tr(φ)−1)−tr(Zφ)  (9) where ν and Z are scalar and matrix Lagrange multipliers respectively. The parameter ν is associated with the trace constraint on φ, and the parameter Z is associated with the constraint that φ be PSD. It can be shown that Z° is PSD and that tr(Z°φ°)=0, where Z° and φ° are the optimal values of Z and φ respectively. These conditions imply that Z° and φ° have the same eigenvectors and have complementary eigenvalues. More specifically, if an eigenvector is associated with a non-zero eigenvalue in φ°, the corresponding eigenvalue in Z° is zero, and vice versa. Thus, at an optimal point, the term tr(Zφ) in the Lagrangian is zero.

This analysis shows that the PSD constraint on φ can be satisfied by the following general procedure: 1) first, solve for φ assuming φ is full-rank and ignoring the Z term in Eq. 9; 2) if the resulting φ is not PSD, force the most negative eigenvalue of φ to be zero and re-solve; 3) repeat step 2 as needed until the resulting φ is PSD. This procedure is referred to as dynamic water-filling because at each iteration the mode directions change as does the power distribution among modes. In contrast, conventional water-filling relates to varying the power distributed to a set of modes having fixed direction.

Differentiating the Lagrangian with respect to W and requiring the result to be zero leads to a matrix quadratic equation having the following solution for φ: $\begin{matrix} {{\phi = {\frac{4}{\mu\rho}\left( {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right)}}{\psi = {{M^{2}I_{N}} + {4{vR}_{E}^{- 1}H_{E}^{*}H_{E}R_{E}^{- 1}}}}} & (10) \end{matrix}$ where ν is determined numerically to satisfy the trace constraint in Eqs. 8. Let φ have the following eigenvalue decomposition: φ=UΛU*,  (11) where Λ is a diagonal matrix of eigenvalues and U is unitary. The precode F is then given by F=UΛ^(1/2)V*,  (12) where V is an arbitrary unitary matrix (N×N). In this case (i.e., A is a scaled identity matrix), setting V=I is a convenient choice.

The numerical solution for ν proceeds as indicated above. First it is assumed that φ is full-rank. The trace condition can be expressed as $\begin{matrix} {{{tr}\left( {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right)} = {\frac{\mu\rho}{4}.}} & (13) \end{matrix}$ Numerical solution of Eq. 13 for ν is expedited by making use of the following bounds on ν: ν₁≦ν≦ν_(u), where $\begin{matrix} {{{v_{l} = {\frac{N^{2}\lambda_{1}}{\beta_{0}^{2}} + \frac{MN}{\beta_{0}}}},\quad{v_{u} = {\frac{N\quad\alpha_{0}}{\beta_{0}^{2}} + \frac{MN}{\beta_{0}}}},{\alpha_{0} = {{tr}\left( {R_{E}^{- 1}H_{E}^{*}H_{E}R_{E}^{- 1}} \right)}},{\lambda_{1} = {\lambda_{\min}\left( {R_{E}^{- 1}H_{E}^{*}H_{E}R_{E}^{- 1}} \right)}},{and}}{\beta_{0} = {{{tr}\left( R_{E}^{- 1} \right)} + {{\mu\rho}/4.}}}} & (14) \end{matrix}$ Numerical solution for ν (e.g., using a binary search method between these two bounds) typically proceeds rapidly, since the problem is one-dimensional and bounded.

If φ as given by Eqs. 10 is not PSD when ν as determined from Eq. 13 is substituted in, then a mode has to be dropped. Mode dropping is repeated, one mode at a time, until the resulting φ is PSD. The condition on ν for k modes dropped is given by $\begin{matrix} {{\sum\limits_{i = {k + 1}}^{N}{\lambda_{i}\left( {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right)}} = \frac{\mu\rho}{4}} & (15) \end{matrix}$ where λ_(i)(M) is the ith eigenvalue of M, sorted into increasing order (i.e., λ₁≦λ₂≦ . . . ≦λ_(N)). The corresponding φ matrix is given by $\begin{matrix} {{\phi = {\frac{4}{\mu\rho}{{drop}_{k}\left( {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right)}}},} & (16) \end{matrix}$ where drop_(k)(M)=U_(M)Λ_(drop)U*_(M) for M having an eigenvalue decomposition M=U_(M)Λ_(M)U*_(M). Here Λ_(drop) is obtained from Λ_(M) by setting the k smallest eigenvalues of Λ_(M) to zero. Dynamic water filling begins by setting k=1 in Eqs. 15 and 16 and solving. If the φ of Eq. 16 is PSD, the process terminates. If φ is not PSD, k is incremented by one and Eqs. 15 and 16 are re-solved. The number of dropped modes k is incremented by one as needed until φ of Eq. 16 becomes PSD.

The numerical solution of Eq. 15 at each state of dynamic water filling is expedited by making use of the following bounds on ν: ν₁≦ν≦ν_(u), where $\begin{matrix} \begin{matrix} {{v_{l} = {\frac{\lambda_{1}}{\beta_{k}^{2}} + \frac{M}{\beta_{k}}}},} \\ {{v_{u} = {\frac{\lambda_{N}}{\beta_{k}^{2}} + \frac{M}{\beta_{k}}}},\quad{and}} \end{matrix} & (17) \\ \begin{matrix} {{\lambda_{1} = {\lambda_{\min}\left( {R_{E}^{- 1}H_{E}^{*}H_{E}R_{E}^{- 1}} \right)}},} \\ {{\lambda_{N} = {\lambda_{\max}\left( {R_{E}^{- 1}H_{E}^{*}H_{E}R_{E}^{- 1}} \right)}},} \\ {{\beta_{k} = {\frac{1}{N - k}\left( {\frac{\mu\rho}{4} + {\sum\limits_{i = {k + 1}}^{N}\quad\frac{1}{\lambda_{i}\left( R_{E} \right)}}} \right)}},} \end{matrix} & (18) \end{matrix}$ with λ_(i)(R_(E)) sorted in increasing order. Here also, numerical solution (e.g., using a binary search method between these two bounds) for ν typically proceeds rapidly, since the problem is one-dimensional and bounded.

The above development of Eqs. 8-18 relates to the case where the codeword separation matrix A is a scaled identity matrix distance. Now we consider the case where A is not a scaled identity matrix. More specifically, A can be an arbitrary PSD matrix. In this situation, it is helpful to temporarily introduce an additional constraint to the optimization problem of Eqs. 6 and 7. More specifically, we consider the problem: J=tr(H _(E) W ⁻¹ H* _(E))−M logdet(W) tr(FF*)=1 tr(FAF*)=γ  (19) where the γ constraint (γ>0) is the temporary additional constraint. Consideration of this extra constraint will lead to a partial solution to the original problem. We begin with the observation that the problem of Eqs. 19 can be made equivalent to the original problem if γ is allowed to vary over all values (effectively removing the constraint). Furthermore, the γ constraint acts as a power constraint, so the largest feasible value of γ will be optimal for minimizing J. The parameter γ is maximized when F*F and A have the same eigenvectors. Let the singular value decomposition (SVD) of F be given by F=UDV*. Let the eigenvalue decomposition of A be given by A=U_(A)Λ_(A)U_(A)*. The parameter γ is maximized by setting V=U_(A) in the SVD of F. By maximizing γ in this way, the problem of Eqs. 19 is made equivalent to the original problem of Eqs. 6 and 7. The result of these considerations is that the V matrix in the SVD of F is determined and must equal U_(A), in contrast to the A=μI case, where V is undetermined.

The optimization problem of Eqs. 19 can be expressed as $\begin{matrix} \begin{matrix} {J = {{{tr}\quad\left( {H_{E}W^{- 1}H_{E}^{*}} \right)} - {M\quad\log\quad\det\quad(W)}}} \\ {{\sum\limits_{i}\quad{\xi_{i}{\lambda_{i}(B)}}} = 1} \\ {B = {FAF}^{*}} \end{matrix} & (20) \end{matrix}$ where B is PSD, ξ_(i)=1/λ_(i)(A) and the sum runs over the non-zero eigenvalues of A.

Unfortunately, the optimization problem of Eqs. 20 is not convex in B, because of the non-linear constraint on the eigenvalues of B. Accordingly, solutions to optimization problems which approximate that of Eqs. 20 are of interest. One possibility is to replace all ξ_(i) in Eqs. 20 with ξ_(max), which is equivalent to approximating A as a scaled identity matrix with μ taken to be the minimum non-zero eigenvalue of A. This approximation can be performed in two different ways. The first way is to compute an expectation codeword separation matrix A and set the codeword distance μ to be the minimum non-zero eigenvalue of this A. The second way is to set the codeword distance μ to be the minimum non-zero eigenvalue of A(C,Ĉ) as C and Ĉ vary over all distinct pairs of codewords. In either case, once the codeword distance μ is defined, the A=μI formalism of Eqs. 8-18 is applicable, except that V=U_(A) is required in the SVD of F as indicated below Eqs. 19. The resulting precode F should be reasonable, although sub-optimal, for this more general case. This approach tends to work well when the condition number of A is reasonably small.

An alternative approximation for Eqs. 20 is to consider J=tr(H _(E) W ⁻¹ H* _(E))−M logdet(W) tr(Λ_(A) ⁻¹ B)=1  (21 ) where the trace constraint on B is linear, making the problem convex. Solutions to this problem may provide solutions having tr(FF*)<1. In such case, a scaling factor can be applied to F to force the trace to be unity. The solution to the optimization problem of Eqs. 21 is similar to the solution described above in connection with the A=μI case, so the description here is correspondingly briefer.

The solution for B is given by $\begin{matrix} {{B = {\frac{4}{\rho}\left( {{\frac{1}{2v}R_{E}^{- 1}G\quad\left( {{MI}_{N} + \psi^{1/2}} \right)\quad{GR}_{E}^{- 1}} - R_{E}^{- 1}} \right)}},\quad{where}} & (22) \\ \begin{matrix} {\psi = {{M^{2}I_{N}} + {4{vG}^{- 1}H_{E}^{*}H_{E}G^{- 1}}}} \\ {G^{2} = {R_{E}\Lambda_{A}R_{E}}} \end{matrix} & (23) \end{matrix}$ G is Hermitian, and ν is the numerically determined Lagrange multiplier.

Let B have the following eigenvalue decomposition: B=U_(B)Λ_(B)U*_(B),  (24) where Λ_(B) is a diagonal matrix of eigenvalues and U_(B) is unitary. The precode F is then given by F=U_(B)Λ_(B) ^(1/2)Λ_(A) ^(−1/2)U*_(A).  (25) Note that the undetermined V matrix of Eq. 12 is not present in this case.

The Lagrange multiplier ν is determined by solving the following equation $\begin{matrix} {{{\sum\limits_{i = {1 + 1}}^{N}{\lambda_{i}\left( {{\frac{M}{2v}I_{N}} + {\frac{1}{2v}\Lambda_{A}^{- 1}R_{E}^{- 1}G\quad\psi^{1/2}{GR}_{E}^{- 1}} - {\Lambda_{A}^{- 1}R_{E}^{- 1}}} \right)}} = \frac{\rho}{4}},} & (26) \end{matrix}$ where k is the number of dropped modes for dynamic water-filling. The process starts by solving the k=0 equation. If the resulting B is PSD, the method terminates. If the resulting B is not PSD, k is incremented by one and the problem is re-solved. This step is repeated until the corresponding B is PSD. Numerical solution of Eq. 26 is expedited by making use of the following bounds on ν: ν₁≦ν≦ν_(u), where $\begin{matrix} \begin{matrix} {{v_{l} = {\frac{\alpha_{l}}{\beta_{l}^{2}} + \frac{M}{\beta_{l}}}},} \\ {{v_{u} = {\frac{\alpha_{u}}{\beta_{u}^{2}} + \frac{M}{\beta_{u}}}},\quad{and}} \end{matrix} & (27) \\ \begin{matrix} {{\alpha_{u} = {\lambda_{\max}\left( {G^{- 1}H_{E}^{*}H_{E}G^{- 1}} \right)}},} \\ {{\alpha_{l} = {\lambda_{\min}\left( {G^{- 1}H_{E}^{*}H_{E}G^{- 1}} \right)}},} \\ {{\beta_{u} = {{\lambda_{\min}\left( {\Lambda_{A}^{- 1}R_{E}^{- 1}} \right)} + \frac{\rho}{4\quad\left( {N - k} \right)}}},} \\ {\beta_{l} = {{\lambda_{\max}\left( {\Lambda_{A}^{- 1}R_{E}^{- 1}} \right)} + {\frac{\rho}{4\quad\left( {N - k} \right)}.}}} \end{matrix} & (28) \end{matrix}$

The preceding description relates to several methods of deriving precoders according to embodiments of the invention. Various approaches can be employed for implementing these methods. In general terms, a processor is required to determine the precode F in terms of the code and channel parameters as described above. Such a processor can be implemented in any combination of hardware and/or software. The processor can be included in the transmitter or receiver of a communication system, but a location in the receiver can be more convenient since channel information is typically most readily available at the receiver. The processor can also be a separate component (e.g., an add-on to an existing system architecture), although this configuration is less common. The processor can also be distributed over two or more separated locations (e.g., transmitter and receiver). The processor can provide or receive the channel information (i.e., H_(E) and R_(E)) needed to derive the precode.

FIGS. 2-9 show results from various examples of preceding according to embodiments of the invention. FIG. 2 shows an example where preceding according to the invention is applied to the case of the orthogonal Alamouti space-time block code using QPSK modulation for a 2×1 system. For this example, the minimum distance and average distance approaches perform identically. The preceding gain is about 2.2 dB at low and medium SNRs and diminishes at higher SNR. FIG. 3 shows the performance of the same system as FIG. 2 for several QAM orders. The preceding gain of the minimum-distance approach is consistent as QAM constellation size varies, while the average distance approach provides less preceding gain for large constellations at high SNR. As constellation size increases, the number of minimum distance codeword pairs increases. As SNR increases, minimum distance codeword pairs tend to dominate the overall error probability. For these reasons, the minimum distance approach provides improved performance compared to the average distance approach in the high SNR, large constellation domain, and is accordingly preferred in this domain.

FIG. 4 shows an example where preceding according to the invention is applied to the case of a non-orthogonal space-time block code using QPSK modulation for a 4×1 system. The code of this example is a quasi-orthogonal space-time block code, and it turns out for this code that A is a scaled identity matrix for both the minimum distance and average distance approaches. In this example, the performance of the minimum-distance and average-distance approaches is similar, with a preceding gain of about 1.7 to 2 dB. FIG. 5 shows the performance of the same system as FIG. 4, except that 16QAM modulation with Gray bit-mapping is employed. In this case, the minimum-distance precoder performs slightly better than the average distance precoder (by about 0.5 dB). This is attributed to the high SNR/large constellation effect as discussed in connection with FIG. 3. The preceding gain of the minimum-distance precoder in the example of FIG. 5 is around 1.8 to 2.5 dB.

FIG. 6 shows the effect of including a channel estimate H_(est) in the effective channel mean and correlation matrices as in Eqs. 3. For the example of FIGS. 6-8, the system is taken to be a 4×1 system having an orthogonal space-time block code with QPSK modulation. FIG. 6 shows the effect of the channel estimate on performance. When r=1, the transmitter has perfect information about the state of the channel, and can exploit this information to provide 6 dB of gain. When r=0, the estimate is useless, but preceding based on statistical channel information provides a useful preceding gain. For intermediate values of r, the performance falls between these two extremes, as expected.

FIG. 7 plots the performance as a function of the estimate quality r. From this plot, it is evident that for r<0.6, preceding based on channel statistics alone can provide most of the available gain. The correlation r needs to be greater than about 0.6 (in this particular example) in order for use of the estimate to provide significant additional precoding gain.

FIG. 8 shows a comparison of precoding according to the present invention using the approach of Eqs. 3 compared to naive beam-forming based on an initial estimate of the channel H₀ which is never updated. The H₀ approach fails badly at high SNR, and eventually performs worse than no preceding at all. In contrast, the approach of Eqs. 3 above is robust in the sense that it always performs better than no preceding at all.

FIG. 9 shows an example where preceding according to an embodiment of the invention is used in combination with an error correction code and a space-time block code. In general, the invention can be practiced with or without the use of an error correction code in addition to the matrix block code. In the example of FIG. 9, the quasi-orthogonal space-time block code of FIG. 4 is employed in a 4×2 system with QPSK modulation, and the error correction code is a rate ½ convolutional code having a generator matrix G=[133, 171] in octave. 

1. A method for transmitting information comprising: providing a communication system including a transmitter having two or more transmit antennas and a receiver having one or more receive antennas, wherein a channel between the transmitter and the receiver has a non-zero effective mean matrix; providing an estimate of the effective channel mean matrix; providing an estimate of an effective transmit correlation matrix of the transmit antennas; deriving a linear precode for the channel based in part on the estimates of the effective channel mean matrix and the effective transmit correlation matrix; encoding information to be transmitted according to the linear precode.
 2. The method of claim 1, wherein said providing an estimate of the effective channel mean matrix comprises providing a sample mean of channel samples within an averaging window, and wherein said providing an estimate of the effective transmit correlation matrix comprises providing a sample covariance of the channel samples.
 3. The method of claim 1 further comprising: providing a channel estimate H_(est) which is a sample of the channel; providing an estimate of a correlation r between H_(est) and the channel; providing a channel mean matrix H_(m) given by a sample mean of channel samples within an averaging window; providing a channel transmit correlation matrix R_(t) given by a sample covariance of the channel samples; wherein said estimate of the effective channel mean matrix is given by rH_(est)+(1−r)H_(m); wherein said estimate of the effective transmit correlation matrix is given by (1−r²)R_(t).
 4. The method of claim 1, wherein a matrix block code is provided for said channel, the matrix block code comprising a code selected from the group consisting of: orthogonal space-time block codes, non-orthogonal space-time block codes, and spatial multiplexing codes.
 5. The method of claim 4, wherein said matrix block code has a codeword product separation function A(C,Ĉ) of codewords C and Ĉ.
 6. The method of claim 5, wherein a codeword product separation matrix A is derived from said separation function A(C,Ĉ).
 7. The method of claim 6, wherein said separation matrix A is a value of said separation function having a minimum λ₁(A), where λ₁(A) is the smallest non-zero eigenvalue of A.
 8. The method of claim 6, wherein said separation matrix A is an expectation of said separation function.
 9. The method of claim 6, wherein said separation matrix A=μI where I is an identity matrix and μ is a codeword distance.
 10. The method of claim 9, wherein said system has a signal to noise ratio ρ, wherein said system has N transmit antennas and M receive antennas, wherein said channel has an effective mean matrix H_(E) and an effective transmit correlation matrix R_(E), wherein ν is a numerically determined Lagrange multiplier, wherein I_(N) is an N×N identity matrix; wherein a matrix ψ=M²I_(N)+4νR_(E) ⁻¹H*_(E)H_(E)R_(E) ⁻¹; wherein a matrix ${\phi = {\left\lbrack {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right\rbrack\frac{4}{\mu\rho}}},$ wherein φ has an eigenvalue decomposition given by φ=UΛU* where Λ is a diagonal matrix of eigenvalues of φ, and U is unitary; wherein ν is selected such that tr(φ)=1; and wherein said linear precode has a matrix representation F given by F=UΛ^(1/2)V*, where V is an arbitrary unitary matrix.
 11. The method of claim 10, wherein negative eigenvalues of φ are forced to be equal to zero to ensure φ is positive semi-definite.
 12. The method of claim 6, wherein said separation matrix A is not a scalar multiple of an identity matrix.
 13. The method of claim 12, wherein a codeword distance μ is a minimum non-zero eigenvalue of A.
 14. The method of claim 12, wherein a codeword distance μ is an expectation of a minimum non-zero eigenvalue of said separation function A(C,Ĉ).
 15. The method of claim 12, wherein said linear precode has a singular value decomposition given by F=UDV*, and wherein A has an eigenvalue decomposition A=U_(A)Λ_(A)U_(A)*, and wherein V=U_(A).
 16. The method of claim 15, wherein said system has a signal to noise ratio ρ, wherein said system has N transmit antennas and M receive antennas, wherein said channel has an effective mean matrix H_(E) and an effective transmit correlation matrix R_(E), wherein ν is a numerically determined Lagrange multiplier, wherein I_(N) is an N×N identity matrix; wherein a Hermitian matrix G satisfies G²=R_(E)Λ_(A)R_(E); wherein a matrix ψ=M²I_(N)+4νG⁻¹H*_(E)H_(E)G⁻¹; wherein a matrix ${B = {\frac{4}{\rho}\left\lbrack {{\frac{1}{2v}R_{E}^{- 1}G\quad\left( {{MI}_{N} + \psi^{1/2}} \right)\quad{GR}_{E}^{- 1}} - R_{E}^{- 1}} \right\rbrack}},$ wherein B has an eigenvalue decomposition given by B=U_(B)Λ_(B)U_(B)* where Λ_(B) is a diagonal matrix of eigenvalues of B and U_(B) is unitary; wherein ν is selected such that tr(Λ_(A) ⁻¹B)=1; and wherein said linear precode has a matrix representation F given by F=U_(B)Λ_(B) ^(1/2)Λ_(A) ^(−1/2)U*_(A).
 17. The method of claim 16, wherein negative eigenvalues of B are forced to be equal to zero in order to ensure B is positive semi-definite.
 18. The method of claim 15, wherein said system has a signal to noise ratio ρ, wherein said system has N transmit antennas and M receive antennas, wherein said channel has an effective mean matrix H_(E) and an effective transmit correlation matrix R_(E), wherein μ is a codeword distance, wherein ν is a numerically determined Lagrange multiplier, wherein I_(N) is an N×N identity matrix; wherein a matrix ψ=M²I_(N)+4νR_(E) ⁻¹H*_(E)H_(E)R_(E) ⁻; wherein a matrix ${\phi = {\left\lbrack {{\frac{1}{2v}\left( {{MI}_{N} + \psi^{1/2}} \right)} - R_{E}^{- 1}} \right\rbrack\frac{4}{\mu\rho}}},$ wherein φ has an eigenvalue decomposition given by φ=UΛU* where Λ is a diagonal matrix of eigenvalues of φ, and U is unitary; wherein ν is selected such that tr(φ)=1; and wherein said linear precode has a matrix representation F given by F=UΛ^(1/2)U_(A)*.
 19. The method of claim 18, wherein negative eigenvalues of φ are forced to be equal to zero to ensure φ is positive semi-definite.
 20. The method of claim 1, wherein said deriving comprises: a) performing an initial optimization assuming power is allocated to all precoder modes; b) if any mode has a negative eigenvalue, removing the mode having the most negative eigenvalue to provide a reduced set of modes; c) recalculating the optimization assuming power is allocated to the reduced set of modes, if a mode is removed in step (b); and d) repeating steps (b) and (c) until no mode has a negative eigenvalue.
 21. A processor for use in a communication system including a transmitter having two or more transmit antennas and a receiver having one or more receive antennas; wherein the processor provides or receives a non-zero estimate of the effective channel mean matrix; wherein the processor provides or receives an estimate of an effective transmit correlation matrix of the channel; wherein the processor derives a linear precode for the channel based in part on the estimates of the effective channel mean matrix and the effective transmit correlation matrix.
 22. A communication system comprising: a transmitter having two or more transmit antennas; a receiver having one or more receive antennas; and the processor of claim 21; wherein the system encodes information to be transmitted according to said linear precode.
 23. The system of claim 22 wherein said receiver includes said processor.
 24. The system of claim 22, wherein said transmitter includes said processor.
 25. The system of claim 22, wherein said processor is distributed between said transmitter and said receiver. 